package web.test.exception;

public enum ErrorCode {
    /**
     * 0 成功
     * <p>
     * 10xxxx 通用错误码
     * <p>
     * 20xxxx 到 90xxxx，其他细分方向错误码，还未想好如何使用
     */
    Ok(0, "成功"),
    ServiceError(100000, "内部错误"),
    ParameterError(100001, "参数错误"),
    SignError(100002, "签名错误"),
	NoRegistry(100003, "appId未注册，非法访问"),
	MTError(100004, "mt错误"),
	TokenError(100005, "token不存在或已失效"),
	TokenNOAuthUrl(100006, "该token没有权限请求该url"),

	;

    private int value;
    private String errMsg;

    ErrorCode(int value, String errMsg) {
        this.value = value;
        this.errMsg = errMsg;
    }

    public int getValue() {
        return value;
    }

    public String getErrMsg() {
        return errMsg;
    }

    public static ErrorCode of(int value) {
        ErrorCode[] errorCodes = values();
        for (ErrorCode errorCode : errorCodes) {
            if (errorCode.value == value) {
                return errorCode;
            }
        }
        return null;
    }

}
